import traceback
import sys
import os

# 重定向标准输出和错误到文件
sys.stdout = open('main_output.txt', 'w', encoding='utf-8')
sys.stderr = open('main_error.txt', 'w', encoding='utf-8')

print("=== 主程序启动捕获开始 ===")
print(f"Python版本: {sys.version}")
print(f"当前工作目录: {os.getcwd()}")

# 尝试运行主程序
try:
    from src.gui_launcher import main
    print("成功导入main函数")
    
    print("开始执行main函数...")
    main()
    print("=== 主程序正常退出 ===")
    
except Exception as e:
    print(f"❌ 主程序执行出错: {str(e)}")
    traceback.print_exc(file=sys.stderr)
    print("=== 主程序异常退出 ===")

# 刷新并关闭文件
sys.stdout.flush()
sys.stderr.flush()
sys.stdout.close()
sys.stderr.close()

# 恢复标准输出和错误
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

print("主程序输出已保存到 main_output.txt 和 main_error.txt")